2014/02/09

[Data Analytics] 觀察,詮釋,與預測

資料分析(Data Analytics)是「巨資料」(Big Data)這個熱門話題裡相當重要的一個環節。如果說巨資料的熱門詞像是 HadoopNoSQL,通常都跟處理大量、多樣化資料所需要的基礎建設(infrastructure)有關,那麼資料分析討論的大抵是關於「怎樣處理資料」這件事。

雖然現在「資料分析」常常跟科學、數學、統計學,和計算科學連在一起,但是「怎麼處理資料」是個歷史更為悠久的問題,甚至跟人類的心智一樣久遠。

在抽象的層次上,我們可以說,人類的心智運作,基本上就是在做資料分析:我們觀察周圍的現象(what, who, where, when),詮釋這些現象的意義(why),並且進行預測,作為採取下一步行動的依據(how)。(認知心理學的肇始即是以訊息處理理論為主要架構)

狹義的資料分析,包含了資料的收集、清理、結構化(觀察);使用資料探勘(Data Mining)技術來發掘資料裡的知識(詮釋);透過分析或過往經驗,選擇適合的數學模型來模擬工作或決策流程,然後整合資料進行流程最佳化或決策輔助(預測)。

所以,某種意義上,資料分析的系統是一種人工心智(artificial mind),要做好資料分析,我們對人類心智的理解或許也有值得借鏡之處。

上面的插圖畫了三樣東西:人(或者說是人的心智),一個被觀察的世界(事實,facts),和一個人所建構的世界(真實,reality)。這三者之間的關係,大抵是古往今來哲學家們在思索的問題。從柏拉圖的洞穴寓言Allegory of Cave)開始,歷經宗教時代的經院哲學,啟蒙時代的人本主義興起,直至近代的存在主義,解構主義與後現代思潮,彼此之間最大的差異,基本上存在於這三者之間關係的定義上。

這篇文章講的是資料分析,不是哲學史,所以關於XX主義的討論就此打住。我們把上面圖裡的三樣東西換成資料分析師、資料和模型,大概就差不多了。

透過觀察,我們收集到資料,基本上都是一些可被記錄的事實。透過人為對資料的理解,我們對所觀察的現象有了一些詮釋(假設、理論、或模型),然後再透過這些詮釋對現象的變化做出預測。


舉例來說,某個公司的人事主管,每年都會接到很多的求職申請,然後要判斷哪些人可以應該錄取,應該派到哪些職務,而哪些人又應該要婉拒。

判斷的依據,可能來自於一般的求職申請,其中會包含基本的學經歷資訊,以及簡單的自傳;積極一點的,還可以透過人脈打聽求職者在之前公司的口碑;最直接的第一手資料,是請求職者來面試。這些都是他的觀察。

這位人事主管可能已經有些選聘員工的經驗,也從很多書籍、網站和前輩那裡得到一些指點,然後依據這些經驗形成了某些假設,例如:名校畢業的很高傲不容易帶,獨生子女容易情緒化,講之前公司壞話的人品通常有問題...等等,這些是他的詮釋。

最後,依據對若干位求職者的觀察和他的詮釋,這位主管必須預測哪一位員工能給他帶來最高的利益:這個利益可能是直接的工作績效,可能是團隊士氣,也可能是人脈,或是各種利益的組合。最後,他必須做出決策,錄取其中的一些人,然後放到適合的位置。

若干時日之後,這些被錄取的人有的表現傑出平步青雲,有的庸庸碌碌但也勤勤懇懇,有的虧空公司資產被解雇;而沒被錄取的也可能有人在其他公司一戰成名聲名大噪。這位主管可能會回頭修正他的假設和詮釋,也可能覺得一切不如預期的表現都只是運氣成分,繼續堅持他對人的看法。


上面的例子裡,我們可以看到,無論是「從過去的經驗和他人的建議所形成的假設」還是「履歷資料和面試表現的具體意義」,都是這位主管主觀詮釋的結果,是他心中的「真實」。一個人如果依據觀察到的「事實」回頭去修正心目中的「真實」,那麼這是一種「貝氏」的做法(Bayesian approach);如果一個人直接忽視跟原本詮釋相違被的事實,直接當成誤差,那麼這是比較傳統的統計學方式,也稱為「概率式」(likelihood)。(這裡有兩種作法的詳細比較,這裡就不多談數學了。)

純就方法來看,「貝氏」的做法不斷的透過預測的結果去修正原始的假設,應該會有「越來越準確」的預測結果,然而就實務應用來看,貝氏方法必然會讓整個分析的過程變得複雜許多,但實際預測的結果不必然都有很明顯的改善,就運算效率而言並不見得划算。

就人類的思考方式來看,人的腦神經活動完全是「貝氏」的,但是人在意識層面的思考通常反而是「堅持相信原本假設」的情況比較常見(例如前文裡提過的 theory induced blindness)。

囉哩囉嗦寫了一大堆,還是要回到資料分析上。

由於「詮釋」這件事情,一直都是人做得比較好,機器(或電腦)只會 garbage-in-garbage-out,所以「以資料驅動」(data-driven)的分析一直還是必須仰賴有經驗的專家來做詮釋,資料的作用還是不脫離「視覺化」跟「假設檢驗」。

過去(1980~),「專家系統」(expert system)的研究致力於對專家的詮釋過程做深入的後設分析,以期能讓電腦依樣畫葫蘆,但長期來說成果並沒有很令人滿意。筆者個人覺得,主要是因為向前面提到的:人在意識層面的思考過程,可能跟實際發生的思考過程不同。這個狀況在近年來神經科學的研究成果裡已經不再是新聞了,所以目前更多人嘗試的方向是「透過模擬大腦神經元運作的方式,來重現思考的實際歷程」。

會不會有一天,電腦也可以「詮釋」呢?有人說會,還有人很樂觀的賭咒幾年內會成真,當然也有人覺得不可能,而這是筆者個人的研究興趣,所以,就到此為止吧。

沒有留言: